package org.springframework.security.config;

/**
 * @author Dillon
 * @date 2024/7/4
 * @slogan 致敬大师 致敬未来的你
 * @desc security 函数式接口，标记该类是一个提供者类
 */
@FunctionalInterface
public interface Customizer<T> {

	/**
	 * 执行自定义逻辑
	 * @param t 提供者类
	 */
	void customize(T t);

	/**
	 * Returns a {@link Customizer} that does not alter the input argument.
	 * @return a {@link Customizer} that does not alter the input argument.
	 */
	static <T> Customizer<T> withDefaults() {
		return (t) -> {
		};
	}

}
